/**
 * Created by 叶子 on 2017/7/30.
 * http通用工具函数
 */
import axios from 'axios';
import { Modal,message } from 'antd';

let infoNum = 0;
const info = Modal.info;

const toLogin = (err) => {
    if(err && err.response && err.response.status == 500){
        message.error('服务器异常');
    }else if(infoNum == 0 && !localStorage.getItem('logout')){ //会话过期，返回登录页面
        localStorage.removeItem('user');
        info({
            title:"系统提示",
            content:'会话已过期，请重新登录',
            maskClosable: true,
            onOk(){
                let href = window.location.href;
                href = href.substring(0,href.lastIndexOf('#')+1);
                window.location.href = `${href}/login`;
                infoNum --;
            },
        });
        infoNum ++ ;
    }
    localStorage.setItem('last',`${new Date().getTime()} `);
}
/**
 * 公用get请求
 * @param url       接口地址
 * @param msg       接口异常提示
 * @param headers   接口所需header配置
 */
export const get = ({url, msg = '接口异常', headers}) =>
    axios.get(url, headers).then(res => res.data).catch(err => {
       console.log(err);
        toLogin();
    });

/**
 * 公用post请求
 * @param url       接口地址
 * @param data      接口参数
 * @param msg       接口异常提示
 * @param headers   接口所需header配置
 */
export const post = ({url, data, msg = '接口异常', headers}) =>
    axios.post(url, data, headers).then(res => res.data).catch(err => {
        console.log(err);
        toLogin();
    });
